package proto

import (
	"regexp"
	D "websocket_apn/define"
	"websocket_apn/log"
)

/*
71 AB 00 00 04 7A 00 00 44 7C 00 00 02 D4 08 94 30 6F 08 00
12 20 0A 0C E8 BF 98 E6 98 AF E9 A3 9E E5 88 80 10 B6 96 09 18 AE 01 20 DC CA D9 FC BB 32 28 D8 B5 06
12 20 0A 0C E8 BF 98 E6 98 AF E9 A3 9E E5 88 80 10 B6 96 09 18 AF 01 20 D9 E8 D9 FC BB 32 28 D8 B5 06
12 1D 0A 09 58 C2 B7 E5 B0 8F E5 B9 BD 10 B6 96 09 18 B0 01 20 AB C1 E2 FC BB 32 28 D8 B5 06
12 23 0A 0F E5 A4 A9 E4 B8 8B E3 80 81 E7 AC AC E4 B8 83 10 B6 96 09 18 B1 01 20 C3 AA 88 FD BB 32 28 D8 B5 06
12 1D 0A 09 E7 86 8F E6 82 9F E7 A9 BA 10 B6 96 09 18 B2 01 20 C1 99 AC FD BB 32 28 D8 B5 06
12 23 0A 0F E5 A4 A9 E4 B8 8B E3 80 81 E5 AD 90 E5 BF 83 10 B6 96 09 18 B3 01 20 E5 B7 B7 FD BB 32 28 D8 B5 06
12 23 0A 0F E5 A4 A9 E4 B8 8B E3 80 81 E5 AD 90 E5 BF 83 10 B6 96 09 18 B4 01 20 D3 BF C7 FD BB 32 28 D8 B5 06
12 26 0A 12 E9 B2 B2 E9 B2 B2 E4 B8 B6 E8 8F 9C E8 99 9A E9 B2 B2 10 B6 96 09 18 B6 01 20 E0 F7 D6 FE BB 32 28 D8 B5 06
12 23 0A 0F E7 AC AC E4 B8 83 E9 A2 97 E6 B5 81 E6 98 9F 10 B6 96 09 18 B7 01 20 88 C5 D7 FE BB 32 28 D8 B5 06
12 1E 0A 0A E5 B0 8F E7 AD B1 E9 9F A9 27 10 B6 96 09 18 B8 01 20 D6 F9 F2 FE BB 32 28 D8 B5 06
12 1D 0A 09 E7 B2 89 E4 B8 AB E4 B8 AB 10 B6 96 09 18 BA 01 20 BB 94 86 FF BB 32 28 D8 B5 06
12 20 0A 0C E4 BA 91 E6 86 A9 E4 B9 8B E6 98 9F 10 B6 96 09 18 BB 01 20 9C DE F6 FF BB 32 28 D8 B5 06
12 1A 0A 06 E6 95 A3 E4 BB 99 10 B6 96 09 18 BC 01 20 D7 F0 B6 80 BC 32 28 D8 B5 06
12 23 0A 0F E4 BA 91 E7 AB AF E6 89 91 E8 9B BE E5 AD 90 10 B6 96 09 18 BE 01 20 A1 DF D9 80 BC 32 28 D8 B5 06
12 26 0A 12 E9 BE 8D E4 B8 B6 E9 A3 8E E6 9A B4 E4 B9 8B E7 81 B5 10 B6 96 09 18 BF 01 20 E5 F7 85 81 BC 32 28 D8 B5 06
12 1A 0A 06 E6 B5 B7 E7 9B 97 10 B6 96 09 18 C0 01 20 E9 A8 9E 81 BC 32 28 D8 B5 06
12 1D 0A 09 E7 99 BD E5 BC 80 E6 B0 B4 10 B6 96 09 18 C1 01 20 9A A9 C3 81 BC 32 28 D8 B5 06
12 23 0A 0F E9 B2 B2 E9 B2 B2 E4 B8 B6 E9 AF A7 E9 B3 89 10 B6 96 09 18 C2 01 20 E9 90 CB 81 BC 32 28 D8 B5 06
12 1D 0A 09 E7 AD 89 E9 A3 8E E6 9D A5 10 B6 96 09 18 C3 01 20 FD EF EF 81 BC 32 28 D8 B5 06
12 17 0A 03 E6 80 9D 10 B6 96 09 18 C4 01 20 91 89 80 82 BC 32 28 D8 B5 06
12 20 0A 0C E8 BF 98 E6 98 AF E9 A3 9E E5 88 80 10 B6 96 09 18 C6 01 20 A7 C6 92 A6 BC 32 28 D8 B5 06
12 20 0A 0C E6 B7 B1 E5 A4 9C E8 80 81 E7 8C AB 10 B6 96 09 18 C7 01 20 AD FA C5 A6 BC 32 28 D8 B5 06
12 23 0A 0F E4 B8 80 E6 A2 A6 E4 B8 B6 F0 9F 90 AF 4D 72 10 B6 96 09 18 C8 01 20 C2 F3 8D A7 BC 32 28 D8 B5 06
12 23 0A 0F E5 A4 A9 E4 B8 8B E3 80 81 E5 B8 9D E5 B0 8A 10 B6 96 09 18 C9 01 20 92 D7 C9 A7 BC 32 28 D8 B5 06
12 23 0A 0F E5 A4 A9 E4 B8 8B E3 80 81 E5 B8 9D E5 B0 8A 10 B6 96 09 18 CA 01 20 A7 EF C9 A7 BC 32 28 D8 B5 06
12 1A 0A 06 E6 95 A3 E4 BB 99 10 B6 96 09 18 CB 01 20 B7 BB EF A7 BC 32 28 D8 B5 06
12 23 0A 0F E5 A4 A9 E4 B8 8B E3 80 81 E6 97 A0 E8 B4 BC 10 B6 96 09 18 CC 01 20 F6 A3 85 A8 BC 32 28 D8 B5 06
12 20 0A 0C E4 BA 91 E6 86 A9 E4 B9 8B E6 98 9F 10 B6 96 09 18 CD 01 20 B9 B6 DA A8 BC 32 28 D8 B5 06
12 20 0A 0C E4 BA 91 E7 AB AF E9 BE 99 E7 8E 8B 10 B6 96 09 18 CE 01 20 B0 A2 B2 A9 BC 32 28 D8 B5 06
12 20 0A 0C E4 BA 91 E7 AB AF E9 BE 99 E7 8E 8B 10 B6 96 09 18 CF 01 20 A6 BA B2 A9 BC 32 28 D8 B5 06
12 20 0A 0C E4 BA 91 E6 86 A9 E6 9B A6 E6 9B A6 10 B6 96 09 18 D0 01 20 9D 8E D5 A9 BC 32 28 D8 B5 06
12 20 0A 0C E4 BA 91 E6 86 A9 E6 9B A6 E6 9B A6 10 B6 96 09 18 D1 01 20 BA A6 D5 A9 BC 32 28 D8 B5 06
12 26 0A 12 E4 BA 91 E7 AB AF E4 B8 B6 E6 B8 A3 E6 B8 A3 E8 BE 89 10 B6 96 09 18 D2 01 20 D3 D2 A1 AB BC 32 28 D8 B5 06

*/
//解析上古战场礼物信息
func ParaWarSeasonGiftInfo(dataBytes []byte) []D.WarSeasonGiftInfo {
	var allInfo []D.WarSeasonGiftInfo
	if len(dataBytes) < 5 {
		return allInfo
	}
	data := BytesToHexStr(dataBytes)
	// 定义正则表达式                                                 1 送礼人名        2                      3 礼物ID
	re := regexp.MustCompile(`12[0-9A-F]{2}0A[0-9A-F]{2}((?:[0-9A-F]{2})+?)10((?:[0-9A-F]{2}){1,3})18((?:[0-9A-F]{2}){1,2})20`)
	res := re.FindAllStringSubmatch(data, -1)
	if len(res) == 0 {
		log.Errorf("解析数据失败-%s", data)
	}
	// 打印结果
	for _, regRes := range res {
		info := D.WarSeasonGiftInfo{
			Name: HexDataStrToStr(regRes[1]), //送礼人名
			ID:   regRes[3],                  //礼物ID
		}
		allInfo = append(allInfo, info)
		log.Debugf("%+v", info)
	}
	return allInfo
}
